<?php
class Estudante extends PC4_Crud_Abstrato {
	
	protected $mEstudanteCompetencia;
	
	function __construct($validacoes = array()) {
		parent::__construct('usuarios', $validacoes);
		$this->mRelacionados = new PC4_Crud_M2N('estudantes', 'competencias');
	}
	
//	function lista($pagina = 1, $limite = -1, $debug = false) {
//		$this->db->select('e.*, u.nome, u.login, u.senha, u.role', false);
//		$this->db->join('usuarios u', 'u.id = e.id_usuarios', 'inner');
//		return parent::lista($pagina, $limite, $debug);
//	}
	
	function insere($umRegistro) {
		$umRegistro['estudantes']['slug'] = $this->mRelacionados->slug($umRegistro['estudantes']['id'], 0);
		$camposRelacionados = array();
		$camposRelacionados = $umRegistro['estudantes'];
		$camposRelacionados['competencias'] = $umRegistro['competencias'];
		//d($camposRelacionados); die;
		unset($umRegistro['estudantes'], $umRegistro['competencias']);
		// Inserindo na tabela principal (usuarios)
		$id = parent::insere($umRegistro);
		$camposRelacionados['id_usuarios'] = $id;
		if (is_numeric($id)) {
			// Inserindo na tabela estudantes, e relacionadas
			$this->mRelacionados->insere($camposRelacionados);
		}
		return $id;
	}
	
	function lista($pagina = 1, $limite = -1) {
		$this->db->join('estudantes e', 'e.id_usuarios = u.id', 'inner');
		return parent::lista($pagina, $limite);
	}
	
}